<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript 数组</title>
</head>
<body>


<script type="text/javascript">
    var arr = [];
    arr[0] = 1;
    arr[2] = 'abc';
    console.log(arr.length);
    console.log(typeof arr);//object
    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
    console.log(arr[4]);


    function fun1() {
        console.log("无参函数 fun1 被调用");
    }

    fun1();
    var fun2 = function (a, b) {
        console.log("有参函数 fun2 被调用");
        return a + b;
    }
    //调用 fun2
    //对 JavaScript 函数调用时，JavaScript 不会对传入的参数个数进行检查
    console.log(fun2(1, 2));
    console.log(fun2(3, 4, 5, 6));//7
    console.log(fun2(3));//NaN

    function fun1(a, b, c) {
        console.log("重载后的 fun1");
    }

    //由于 后来编写的同名方法 fun1(a, b, c) 把前面的 fun1() 覆盖了
    //所以这里调用的是重载后的 fun1
    //JavaScript 没有重载机制
    fun1();

    function fun4() {
        var result = 0;
        for (var i = 0; i < arguments.length; i++) {
            result += arguments[i];
        }
        return result;
    }

    console.log(fun4(1, 2, 3, 4, 5, 6, 7))
</script>
</body>
</html>